import axios from 'axios' // 引用axios
// import { cookie } from '@/util/cookie.js' // 引用刚才我们创建的util.js文件，并使用getCookie方法
var config = {
  // 请求的接口，在请求的时候，如axios.get(url,config);这里的url会覆盖掉config中的url
  url: '/user',
  // 请求方法同上
  method: 'post', // default
  // 基础url前缀
  baseURL: '',

  transformRequest: [
    data => {
      // 这里可以在发送请求之前对请求数据做处理，比如form-data格式化等，这里可以使用开头引入的Qs（这个模块在安装axios的时候就已经安装了，不需要另外安装）
      return data
    }
  ],

  transformResponse: [
    data => {
      // 这里提前处理返回的数据
      if (data) {
        return data
      }
    }
  ],
  // 请求头信息
  // headers: {
  //   'Content-Type': 'application/x-www-form-urlencoded', // 设置跨域头部
  // },
  // parameter参数
  // post参数，使用axios.post(url,{},config);如果没有额外的也必须要用一个空对象，否则会报错

  // 设置超时时间
  timeout: 5000
}

/**
 * fetch 请求方法
 * @param url
 * @param params
 * @returns {Promise}
 */
// export function get(url, params = {}) {
//   return new Promise((resolve, reject) => {
//     axios
//       .get(url, {
//         params: params
//       })
//       .then(response => {
//         resolve(response.data)
//       })
//       .catch(err => {
//         reject(err)
//       })
//   })
// }

export default {
  install: Vue => {
    Vue.prototype.$post = (url, data = {}, confirm) => {
      // axios.defaults.headers.common[''] = cookie('')
      this.$dialog.loading.open('数据加载中...')
      return new Promise((resolve, reject) => {
        axios.post(url, data, config).then(res => {})
      })
    }
    Vue.prototype.$get = (url, data = {}, confirm) => {
      // axios.defaults.headers.common[''] = cookie('')
      this.$dialog.loading.open('数据加载中...')
      return new Promise((resolve, reject) => {
        axios.post(url, data, config).then(res => {})
      })
    }
  }
}
